package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.ISystemDTO;
import com.cuixichang.minimalism.transfer.page.ISystemPageRequest;
import com.cuixichang.minimalism.transfer.page.ISystemRequest;
import com.cuixichang.minimalism.transfer.vo.ISystemVO;
import com.cuixichang.minimalism.transfer.po.ISystem;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 系统信息注册表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface ISystemAssembler {

    ISystemAssembler INSTANCT = Mappers.getMapper(ISystemAssembler.class);

    ISystemDTO convertDto(ISystemRequest request);

    ISystemDTO convertDto(ISystemPageRequest request);

    ISystem convertPo(ISystemDTO dto);

    ISystemDTO convertDto(ISystem po);

    ISystemVO convertVo(ISystemDTO dto);
}